#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>

#define EOL 1                   // 行结束，换行符
#define ARG 2                   // 程序执行的参数
#define AMPERSAND 3             // '&'，‘&’代表以后台的方式运行该命令
#define SEMICOLON 4             // ';'，分隔符
#define MAXARG 512              // 命令行参数个数的最大值
#define MAXBUF 512              // 输入行的最大长度
#define FOREGROUND 0
#define BACKGROUND 1

void procline();
int inarg(char c);
int gettok(char* outptr);
int userin(char* p);
int runcommand(char** cline, int where);